home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / inet / internet-drafts / draft-chang-iimc-proxy-00.txt < prev    next >
Text File  |  1993-03-03  |  93KB  |  2,168 lines

  1.  
  2.  
  3.  
  4.  
  5.             INTERNET DRAFT                        Expires April 23, 1993
  6.  
  7.  
  8.  
  9.                 ISO/CCITT and Internet Management Coexistence (IIMC):
  10.  
  11.                        ISO/CCITT to Internet Management Proxy
  12.  
  13.                                      (IIMCPROXY)
  14.  
  15.  
  16.                                    October 9, 1992
  17.  
  18.  
  19.                                      April Chang
  20.  
  21.                                     NetLabs, Inc
  22.                                  4920 El Camino Real
  23.                                  Los Altos, CA 94022
  24.                                april_chang@netlabs.com
  25.  
  26.  
  27.  
  28.             Status of this Memo
  29.  
  30.             This memo provides information to the network and systems
  31.             management community.  This memo is not proposed to be a
  32.             standard, but is intended as a contribution to ongoing work
  33.             in the area of multi-protocol management coexistence and
  34.             interworking.  This memo is part of a package of ISO/CCITT
  35.             and Internet Management Coexistence (IIMC) drafts; see also
  36.             [IIMCIMIBTRANS], [IIMCIMIB-II], [IIMCPARTY], and
  37.             [IIMCOMIBTRANS].
  38.  
  39.             This document is an Internet Draft.  Internet Drafts are
  40.             working documents of the Internet Engineering Task Force
  41.             (IETF), its Areas, and its Working Groups.  Note that other
  42.             groups may also distribute working documents as Internet
  43.             Drafts.
  44.  
  45.             Internet Drafts are draft documents valid for a maximum of
  46.             six months.  Internet Drafts may be updated, replaced, or
  47.             obsoleted by other documents at any time.  It is not
  48.             appropriate to use Internet Drafts as reference material or
  49.             to cite them other than as a "working draft" or "work in
  50.             progress".
  51.  
  52.             Please check the 1id-abstracts.txt listing contained in the
  53.             internet-drafts Shadow Directories on nic.ddn.mil,
  54.             nnsc.nsf.net, nic.nordu.net, ftp.nisc.sri.com, munnari.oz.au
  55.             to learn the current status of any Internet Draft.
  56.  
  57.             Distribution of this memo is unlimited.  Comments on this
  58.             memo should be sent to iimc@thumper.bellcore.com by November
  59.             20, 1992.
  60.  
  61.  
  62.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  63.  
  64.  
  65.             Abstract
  66.  
  67.             This memo is intended to facilitate the use of the OSI
  68.             Common Management Information Protocol (CMIP) for integrated
  69.             management of networks via proxy management of TCP/IP
  70.             networks that are managed using Simple Network Management
  71.             Protocol (SNMP).  This memo describes a ISO/Internet "proxy"
  72.             which allows interworking between CMIP-based managers and
  73.             SNMP-based agents.  The proxy emulates CMIS service requests
  74.             by mapping between corresponding ISO/CCITT GDMO and Internet
  75.             MIB definitions, and generating SNMP message(s) needed to
  76.             emulate the service.  The proxy also emulates CMIS service
  77.             responses and notifications by converting incoming SNMP
  78.             response and trap message(s) in a similar fashion.  Thus,
  79.             the proxy appears as a CMIP-based agent to the manager, and
  80.             as an SNMP-based manager to the agent.  The proxy depends on
  81.             the availability of corresponding MIB definitions translated
  82.             as described in [OIMMIBTRANS].
  83.  
  84.  
  85.             Table of Contents
  86.  
  87.             Status of this Memo ......................................i
  88.             Abstract .................................................ii
  89.             Table of Contents ........................................ii
  90.             1. Introduction ..........................................1
  91.             1.1. Background ..........................................1
  92.             1.2. Overview ............................................2
  93.             1.3. Scope ...............................................3
  94.             1.4. Terms and Conventions ...............................5
  95.             2. ISO/Internet Proxy Configuration ......................6
  96.             2.1. Schema Information ..................................6
  97.             2.2. Proxy Objects and Party Objects .....................6
  98.             2.3. Usage ...............................................8
  99.             3. Elements of CMISE Service Emulation ...................9
  100.             3.1. Association Service .................................9
  101.             3.2. Management Object Selection .........................10
  102.             3.3. Synchronization .....................................12
  103.             3.4. Management Operation Services .......................13
  104.             3.5. Management Notification Services ....................19
  105.             3.6. Common Response Parameter ...........................19
  106.             4. CMIP and SNMP Protocol Mapping ........................20
  107.             4.1. Management Object Selection .........................20
  108.             4.2. Check for Existence of the Object ...................21
  109.             4.3. Create With Referenced Object .......................23
  110.             4.4. Perform the Get Operation ...........................23
  111.             4.5. Perform the Set Operation ...........................23
  112.             4.6. Perform the Create Operation ........................23
  113.             4.7. Perform the Delete Operation ........................24
  114.             4.8. Form a Variable Binding .............................24
  115.             4.9. SNMP error to CMIP error mapping ....................25
  116.             5. CMIP Processing Failure ...............................26
  117.             6. Functional Units ......................................27
  118.             7. Abbreviations .........................................28
  119.  
  120.  
  121.             Chang                                                Page ii
  122.  
  123.  
  124.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  125.  
  126.  
  127.             8. Acknowledgements ......................................28
  128.             Appendix A: CMIP to RFC 1157 Agent proxy .................29
  129.             Appendix B: Example Operation ............................31
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.             Chang                                               Page iii
  184.  
  185.  
  186.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  187.  
  188.  
  189.  
  190.             1. Introduction
  191.  
  192.             1.1. Background
  193.  
  194.             This memo is part of a package of ISO/CCITT and Internet
  195.             Management Coexistence (IIMC) drafts.  Other memos included
  196.             in this package are:
  197.  
  198.               -Translation of Internet MIBs to ISO/CCITT GDMO MIBs
  199.                (LaBarre) [IIMCIMIBTRANS]
  200.               -Translation of ISO/CCITT GDMO MIBs to Internet MIBs
  201.                (Newnan) [IIMCOMIBTRANS]
  202.               -Translation of Internet MIB-II (RFC1213) to ISO/CCITT
  203.                GDMO MIB (LaBarre) [IIMCMIB-II]
  204.               -Translation of Internet Party MIB (RFC1353) to ISO/CCITT
  205.                GDMO MIB (LaBarre) [IIMCPARTY]
  206.  
  207.             These memos together comprise a package aimed at integrating
  208.             ISO/CCITT-based and Internet-based management systems.
  209.             These memos are offered as input to coexistence and
  210.             interworking efforts underway throughout the
  211.             industry,including organizations such as:
  212.  
  213.               - IETF OSI Internet Management (OIM),
  214.               - Network Management Forum Technology Convergence Team,
  215.               - X/Open Systems Management (SysMan),
  216.               - OIW Network Management Special Interest Group (NMSIG),
  217.             and
  218.               - OSF Management Special Interest Group (MANSIG).
  219.  
  220.             This work was initiated, in part, by NM Forum efforts to
  221.             translate RFC 1214 for use with OMNIPoint 1 implementations.
  222.             Through this effort, it became obvious that end-to-end
  223.             management requires an integrated, unified view of the
  224.             managed network, despite differences in management protocol
  225.             and information structure.  Integrated management can be
  226.             facilitated by the development of "proxy" mechanisms which
  227.             translate between functionally equivalent service, protocol,
  228.             and  SMI differences to create this unified view.  MIB
  229.             translation procedures can be used to support proxy
  230.             management, as well as to take advantage of existing MIB
  231.             definition and avoid duplication of effort.  In this way,
  232.             commercial investment in both ISO/CCITT and Internet-based
  233.             management technologies can be preserved through deployment
  234.             of common methods and tools which support integration.
  235.  
  236.             This overall strategy was outlined in a joint publication
  237.             developed by the NM Forum and X/Open entitled "ISO/CCITT and
  238.             Internet Management: Coexistence and Interworking Strategy"
  239.             [NMFMC92].  The memos included in the IIMC package are
  240.             intended as detailed specifications which implement several
  241.             of the methodologies identified in this strategy.
  242.  
  243.  
  244.  
  245.             Chang                                                 Page 1
  246.  
  247.  
  248.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  249.  
  250.  
  251.             1.2. Overview
  252.  
  253.             The basic model for ISO/CCITT-Internet proxy management is
  254.             illustrated in the following diagram.
  255.  
  256.                   Manager             Proxy                 Agent
  257.             +-----------------+ +----------------+ +-------------------+
  258.             |+---------------+| |+----++--------+| | +---------------+ |
  259.             ||  Management   || ||GDMO||Internet|| | |    Managed    | |
  260.             || Applications  || ||MIB ||  MIB   || | |   Resources   | |
  261.             |+---------------+| |+----++--------+| | +---------------+ |
  262.             |    |            | |+--------------+| |     |             |
  263.             |    |            | ||   Service    || |     |             |
  264.             |    |            | ||  Emulation   || |     |             |
  265.             |    |            | ||(scoping)     || |     |             |
  266.             |    |            | || (filtering)  || |     |             |
  267.             |    |            | ||  (operations)|| |     |             |
  268.             |+---------+-----+| |+--------------+| |+--------+--------+|
  269.             ||ISO/CCITT|GDMO || || Map Protocols | ||Internet|Internet||
  270.             || Manager |MIB  || ||CMIS|    |SNMP|| || Agent  |  MIB   ||
  271.             |+---------+-----+| |+----+----+----+| |+--------+--------+|
  272.             |   |             | |  |CMIS      |  | |   |               |
  273.             |   |CMIS Services| |  |Services  |  | |   |SNMP "Services"|
  274.             |   |             | |  |          |  | |   |               |
  275.             |   |             | |  |      SNMP|  | |   |               |
  276.             |   |             | |  |"Services"|  | |   |               |
  277.             +-----------------+ +----------------+ +-------------------+
  278.             |       CMIP      | |  CMIP |  SNMP  | |       SNMP        |
  279.             +-----------------+ +----------------+ +-------------------+
  280.                      ^               ^      ^               ^
  281.                      |               |      |               |
  282.                      +---------------+      +---------------+
  283.                        CMIP Messages          SNMP Messages
  284.  
  285.  
  286.             The proxy architecture provides emulation of CMIS services
  287.             by mapping to the corresponding SNMP message(s) necessary to
  288.             carry out the service request.  The service emulation allows
  289.             management of Internet objects by an ISO/CCITT manager.  The
  290.             left hand side of the proxy behaves like an ISO/CCITT agent,
  291.             communicating with the ISO/CCITT manager using CMIP
  292.             protocols.  The right hand side  of the proxy behaves like
  293.             an Internet manager, communicating with the Internet agent
  294.             using SNMP protocols.
  295.  
  296.             The proxy relies on the existence of a pair of directly-
  297.             related MIB definitions, where the Internet MIB has been
  298.             translated into ISO/CCITT GDMO using the procedures
  299.             specified in [OIMMIBTRANS]. The proxy defined in this memo
  300.             uses these MIB definitions and rules to provide run-time
  301.             translation of management information carried in service
  302.             requests and responses.
  303.  
  304.  
  305.  
  306.  
  307.             Chang                                                 Page 2
  308.  
  309.  
  310.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  311.  
  312.  
  313.             The proxy architecture is designed with a specified
  314.             interface between the proxy and the underlying protocol
  315.             stacks, and so deals primarily in terms of CMIS services and
  316.             SNMP "services".  The proxy emulates services such as CMIS
  317.             scoping and filtering, processing of CMIS operations, and
  318.             forwarding/logging of CMIS notifications by performing a
  319.             mapping process which must be tailored for each protocol
  320.             (for example, SNMP, Secure SNMP, and SNMP-2 are all variants
  321.             of the same protocol mapping process).
  322.  
  323.             Finally, [IIMCOMIBTRANS] specifies translation procedures
  324.             for converting ISO/CCITT GDMO MIBs into Internet MIBs.  MIBs
  325.             generated by this translation process cannot be utilized by
  326.             the Proxy defined in this memo, although another kind of
  327.             Proxy could be defined for this purpose in the future.
  328.  
  329.             1.3. Scope
  330.  
  331.             The intent of the memo is to facilitate the use of CMIP to
  332.             perform integrated management of networks via proxy
  333.             management networks that are managed using SNMP.  There are
  334.             two major differences between the CMISE and SNMP services:
  335.             one is the object model; and the other is the operations
  336.             supported by the protocols.  The ISO/Internet proxy
  337.             architecture as shown in the above picture provides the
  338.             CMISE service emulation.  In another words, the ISO/Internet
  339.             proxy acts as a CMIP agent with respect to the CMIP manager,
  340.             allowing management of Internet objects by the ISO/CCITT
  341.             manager.  The CMIP requests would be processed by the
  342.             ISO/Internet proxy and CMIP responses would be returned by
  343.             the ISO/Internet proxy.  SNMP traps would be converted to
  344.             CMIP notifications by the ISO/Internet proxy.  The
  345.             implementation of the CMISE service emulation requires that
  346.             a mapping exist between ISO/CCITT objects and Internet
  347.             objects.  There are different approaches that can be used to
  348.             map between Internet objects and ISO/CCITT objects.
  349.  
  350.                  1) Direct Translation
  351.                  2) Abstract Translation
  352.  
  353.             The direct translation approach maps each Internet object to
  354.             a newly defined ISO/CCITT object that contains: 1) the same
  355.             information as contained in the Internet object; and 2) the
  356.             attributes that are inherited from the  ISO/CCITT Top object
  357.             class.
  358.  
  359.             The abstract approach maps the Internet objects to
  360.             previously defined ISO/CCITT objects.  For example, the MIB-
  361.             II system object could be represented by the ISO/CCITT
  362.             system object.  No new object classes or attributes are
  363.             needed with this approach.
  364.  
  365.             Either or both approaches could be used by a ISO/CCITT
  366.             manager to manage Internet agents.  However, a large number
  367.  
  368.  
  369.             Chang                                                 Page 3
  370.  
  371.  
  372.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  373.  
  374.  
  375.             of Internet MIBs have been defined by the Internet community
  376.             using the Internet SMI [RFC1155] and it is quite possible
  377.             that there is no equivalent ISO/CCITT objects defined for
  378.             some of the Internet MIBs at this point of time.  For
  379.             example, an Internet object and an ISO/CCITT object might be
  380.             defined by different groups, and the attributes in the two
  381.             objects could be significantly different.  The mapping
  382.             between the two objects could be very difficult, if it not
  383.             impossible to perform.
  384.  
  385.             This memo uses the "direct translation" approach".
  386.  
  387.             To perform the CMISE service emulation, the ISO/Internet
  388.             proxy can use either of the following two approaches to
  389.             retrieve or modify Internet MIB information:
  390.  
  391.                  1. State-less approach
  392.                  2. Stateful approach
  393.  
  394.             The state-less approach would not maintain the Internet
  395.             agent's MIB data.  For each CMIP request, the ISO/Internet
  396.             proxy would perform one or more SNMP requests.
  397.  
  398.             The stateful approach would be to replicate the proxied
  399.             agent's MIB data.  The ISO/Internet proxy would replicate
  400.             the Internet agent's MIB data locally.  For each CMIP
  401.             request, the ISO/Internet proxy would fulfill the request
  402.             using data in its own local copy of the Internet MIBs.
  403.  
  404.             The stateful approach will usually provide better response
  405.             time, but has the drawback that the data retrived might not
  406.             be up to date.  This approach also requires a data
  407.             synchronization mechanism between the ISO/Internet proxy and
  408.             the proxied Internet agents.  The frequency at which the MIB
  409.             data in the ISO/Internet proxy is updated would have a
  410.             significant effect on the accuracy of the response.
  411.  
  412.             This memo uses the first approach.  With that approach the
  413.             ISO/Internet proxy performs the following operations:
  414.             translation of CMIP requests to SNMP requests; translation
  415.             of SNMP responses to CMIP responses; and translation of SNMP
  416.             traps to CMIP notifications.
  417.  
  418.             If necessary, the Internet MIB data retrived by the
  419.             ISO/Internet proxy could be cached by the proxy in order to
  420.             increase the response time of an operation.  This memo makes
  421.             no assumption that the proxy is maintaining any state
  422.             information, and so takes no advantage of information which
  423.             might be cashed.
  424.  
  425.             This memo describes a protocol mapping process based on the
  426.             IS CMIP (ISO/IEC 9596-2;1991) and on secure SNMP (RFC 1351 -
  427.             RFC 1353).  A protocol mapping process based on IS CMIP and
  428.             RFC 1157 SNMP would be slightly different from the IS CMIP
  429.  
  430.  
  431.             Chang                                                 Page 4
  432.  
  433.  
  434.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  435.  
  436.  
  437.             to secure SNMP mapping process.  These differences are
  438.             described in Appendix A of this memo.
  439.  
  440.             This memo assumes that the the CMIP PDU and SNMP PDU
  441.             received by the ISO/Internet proxy are always properly
  442.             encoded.  The uderlying protocol providers should ensure the
  443.             correctness of the service indications and confirmations
  444.             that are passed up to the ISO/Internet proxy.
  445.  
  446.             1.4. Terms and Conventions
  447.  
  448.             1.4.1 ISO/CCITT manager: An application entity that
  449.                   implements ISO/IEC 9596-2;1991.
  450.  
  451.             1.4.2 Internet agent: An application entity that is
  452.                   conformant to RFC 1352.
  453.  
  454.             1.4.3 ISO/Internet Proxy: An application entity that is
  455.                   responsible of mapping CMIP requests to SNMP
  456.                   requests, SNMP responses to CMIP responses, and SNMP
  457.                   traps to CMIP notifications among any number of
  458.                   ISO/CCITT managers and Internet agents.
  459.  
  460.             1.4.4 Known Internet agents: A set of one or more Internet
  461.                   agents that a ISO/Internet proxy has knowledge of.
  462.                   The known Internet agents could be represented by
  463.                   proxy object instances.  The SNMP proxy object class
  464.                   is defined in [OIMTRANSMIB].
  465.  
  466.             1.4.5 Known SNMP Parties: A set of one or more SNMP parties
  467.                   that a ISO/Internet proxy has knowledge of.  The
  468.                   known SNMP parties could be represented by the SNMP
  469.                   party object instances.  The SNMP party Object is
  470.                   defined in [OIMPARTY].
  471.  
  472.             1.4.6 Pseudo Object: A CMIP object class that represents an
  473.                   SNMP group.  The pseudo object does not contain any
  474.                   SNMP attributes.  For example: a CMIP object that
  475.                   represents "at" in MIB-II, or any CMIP objects
  476.                   representing SNMP tables.
  477.  
  478.             1.4.7 Access Policy: The SNMP version and the security
  479.                   policy.
  480.  
  481.             1.4.8 Multiple Instance Object: An object class that may
  482.                   have more than one object instance.  For example,
  483.                   SNMP table entries.
  484.  
  485.             1.4.9 Delete Information: Delete information is the object
  486.                   identifier of the attribute and its attribute value
  487.                   used to indicate a particular row of a table is
  488.                   deleted.
  489.  
  490.  
  491.  
  492.  
  493.             Chang                                                 Page 5
  494.  
  495.  
  496.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  497.  
  498.  
  499.             2.   ISO/Internet Proxy Configuration
  500.  
  501.             In order for the ISO/Internet proxy to access each proxied
  502.             Internet agent, and to access the proxied agents using the
  503.             appropriate transport and network address, and using the
  504.             appropriate access policy, the ISO/Internet proxy is
  505.             required to have some knowledge about the proxied Internet
  506.             agents.
  507.  
  508.             2.1. Schema Information
  509.  
  510.             To perform CMISE service emulation, the ISO/Internet proxy
  511.             requires schema information for all of the Internet MIB
  512.             definitions supported by a proxied agent.  The schema
  513.             information could be described to the ISO/Internet proxy
  514.             using ISO/CCITT GDMO.  Name binding definitions and matching
  515.             rules are required if scoping and filtering are supported.
  516.             The name binding definitions are needed to perform scoping
  517.             and the matching rules are needed to perform filtering.
  518.  
  519.             A translation procedure for converting Internet MIB and
  520.             Internet trap definitions into corresponding ISO/CCITT GDMO
  521.             definitions is described in [OIMMIBTRANS].  The proxy
  522.             describes in this memo requires as input the schema
  523.             information for any Internet MIB translated to ISO/CCITT
  524.             GDMO format using the [OIMMIBTRANS] procedures.
  525.  
  526.             The ISO/CCITT GDMO definitions based on RFC [OIMTRANSMIB]
  527.             provide the object class, attribute, attribute syntax, name
  528.             binding, and notification definitions.  If the ISO/CCITT
  529.             object class maps to an SNMP table entry, the behaviour
  530.             clause (as defined in 3.3.1 of [OIMTRANSMIB] would describe
  531.             the following information that is required by the
  532.             ISO/Internet proxy:
  533.  
  534.                     a) the attributes that form the object instance;
  535.                     b) whether or not the object is a multiple instance
  536.                       object (as defined in section 2.8 of this memo);
  537.                       and
  538.                     c) if the object is a multiple instance object, the
  539.                       delete information for the object (as defined in
  540.                       section 2.9 of this memo).
  541.  
  542.             2.2. Proxy Objects and Party Objects
  543.  
  544.             RFC [OIMPARTY] defines some local object classes that are
  545.             required by the ISO/Internet proxy to perform the CMISE
  546.             service emulation.
  547.  
  548.             The ISO/Internet proxy requires the following instances of
  549.             the local object classes for each proxied Internet agent:
  550.  
  551.                  - one "cmipsxmpProxyEntry" object instance
  552.                  - one "partyTable" object instance
  553.  
  554.  
  555.             Chang                                                 Page 6
  556.  
  557.  
  558.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  559.  
  560.  
  561.                  - one or more "partyEntry" object instances
  562.  
  563.             This memo refers to the above object instances as "local
  564.             objects" or as "local object instances".
  565.  
  566.             The "cmipsxmpProxyEntry" object instance contains the
  567.             proxied SNMP agent's name and serves as a containment
  568.             object.  All the information related to a particular
  569.             Internet agent would exist below the "cmipsxmpProxyEntry" in
  570.             the managed information tree (MIT).  This information
  571.             includes all the Internet MIB objects that belong to a
  572.             particular Internet agent and any configuration information
  573.             needed by the ISO/Internet proxy (such as a partyTable
  574.             object).
  575.  
  576.             The "partyTable" object is the container object for all the
  577.             "partyEntry's".  Only one "partyTable" object instance
  578.             should be created below the "cmipsxmpProxyEntry" object
  579.             instance.
  580.  
  581.             The "partyEntry" object contains the proxied Internet
  582.             agent's address and the security mechanism used between the
  583.             ISO/Internet proxy (acting as Internet manager) and the
  584.             Internet agent.  The security mechanism could either be an
  585.             SNMP 1157 community-based or a secure SNMP party-based
  586.             mechanism.  A different "key" is stored in the "partyEntry"
  587.             object, based on the chosen security mechanism.
  588.  
  589.             The information described in the preceding paragraphs must
  590.             be available to the ISO/Internet proxy before any CMIP
  591.             requests or SNMP traps can be processed by the ISO/Internet
  592.             proxy.  The ISO/CCITT manager could provide this
  593.             configuration information to the ISO/Internet proxy by
  594.             sending M-Create requests to the ISO/Internet proxy in order
  595.             to create the proxy and party objects.
  596.  
  597.             If the CMIP request to create an SNMP proxy object succeeds,
  598.             the ISO/Internet proxy adds the SNMP proxy object to its
  599.             list of known Internet agents.  If the CMIP request to
  600.             create an SNMP party object succeeds, the ISO/Internet proxy
  601.             adds the SNMP party object to its list of known SNMP
  602.             parties.
  603.  
  604.             It is the ISO/CCITT manager's responsibility to manage the
  605.             known Internet agents and known SNMP parties.  CMIP requests
  606.             could be initiated by the ISO/CCITT manager to add, delete,
  607.             or modify elements in the known Internet agents and the
  608.             known SNMP parties.
  609.  
  610.             2.3. Usage
  611.  
  612.             The known Internet agents, and the known SNMP parties
  613.             provide the basis for the ISO/Internet proxy to perform the
  614.             following translation:
  615.  
  616.  
  617.             Chang                                                 Page 7
  618.  
  619.  
  620.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  621.  
  622.  
  623.  
  624.                  - Translating CMIP requests to SNMP requests
  625.                  - Translating SNMP responses to CMIP responses
  626.                  - Translating SNMP traps to CMIP notifications
  627.  
  628.             In a CMIP request, the "cmipsxmpProxyEntry" object is
  629.             represented by one of the relative distinguished names (RDN)
  630.             that make up a distinguished name (DN).  In the MIT, there
  631.             are one or more party objects contained under the
  632.             "cmipsxmpProxyEntry" object.
  633.  
  634.             2.3.1. Security
  635.  
  636.                     Section 3.3.1.1    Section 3.3.1.2
  637.                              |             |
  638.             +-------------+  |  +------------------+
  639.             |ISO/CCITT mgr|<--->|ISO/Internet Proxy|<---> Internet agent
  640.             +-------------+     +------------------+
  641.  
  642.             2.3.1.1. The Security Policy between the ISO/CCITT manager
  643.             and the ISO/Internet Proxy
  644.  
  645.             The information transferred between the ISO/CCITT manager
  646.             and the ISO/Internet proxy is protected by the security
  647.             policy between the ISO/CCITT manager and the ISO/Internet
  648.             proxy (acting as a CMIP agent).  The security policy between
  649.             an ISO/CCITT manager and a CMIP agent is not part of the
  650.             scope of this memo.
  651.  
  652.             2.3.1.2. The Security Policy between the ISO/Internet Proxy
  653.             and the Internet agent
  654.  
  655.             The information transferred between the ISO/Internet proxy
  656.             and the Internet agent is protected by a security policy
  657.             between the ISO/Internet proxy and the Internet agent.  In
  658.             order to minimize the network traffic between the
  659.             ISO/Internet proxy and the Internet agent, and also to
  660.             reduce the number of party objects, this security policy
  661.             should be enforced using the following two distinct steps:
  662.  
  663.             2.3.1.2.1. Local Security Policy
  664.  
  665.             First, a local security policy that maps a CMIP request to a
  666.             source party and a destination party based on the
  667.             distinguished name, the access control field; and possibly
  668.             the operation type and the attributes in the attribute list.
  669.  
  670.             The security mapping process should be based on a local
  671.             security policy that is mutually agreed to and implemented
  672.             by the ISO/CCITT manager and ISO/Internet proxy.  The local
  673.             security policy is not within the scope of this memo.  A
  674.             separate memo to define this security policy may be produced
  675.             after the secure SNMP and SMP are finalized.
  676.  
  677.  
  678.  
  679.             Chang                                                 Page 8
  680.  
  681.  
  682.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  683.  
  684.  
  685.             The ISO/Internet determines a pair of source party and
  686.             destination party contained in the "cmipsxmpProxyEntry"
  687.             object based on the DN, access control parameter, and
  688.             possibly the operation type, and attribute list.  The method
  689.             of selecting the party pair is a local issue.
  690.  
  691.             If this mapping step fails, the ISO/Internet proxy must send
  692.             an "access denied" error response back to the ISO/CCITT
  693.             manager.  An SNMP request will not be generated by the
  694.             proxy.
  695.  
  696.             2.3.2. Packaging SNMP Request
  697.  
  698.             Second, if the previous step is successful, a source party
  699.             and a destination party are chosen as the basis for
  700.             packaging the SNMP request.  The selected SNMP source party
  701.             and destination party specifies the SNMP protocol version
  702.             and the SNMP security protocol to use with the SNMP request
  703.             generated by the ISO/Internet Proxy.
  704.  
  705.             SNMP request message should be encoded based on the secure
  706.             SNMP protocol using the selected source party and
  707.             destination party.
  708.  
  709.  
  710.             3. Elements of CMISE Service Emulation
  711.  
  712.             The following sections describe the conceptual process for
  713.             performing CMIP service emulation.  In an actual
  714.             implementation, it should be possible to combine some of the
  715.             processes.  It is highly recommended that the implementor of
  716.             the ISO/Internet proxy combine the processes where possible
  717.             to to optimize the implementation.  If the ISO/Internet
  718.             proxy needs to perform an SNMP request to fulfill a CMIP
  719.             request, the ISO/Internet protocol translation that would be
  720.             used to translate the request is described in section 4 of
  721.             this memo.
  722.  
  723.             3.1. Association Service
  724.  
  725.             The ISO/Internet proxy should provide the association
  726.             service defined in section 8.1 of ISO/IEC 9596-2;1991.  This
  727.             service includes association establishment and association
  728.             release.  Each CMIP request issued within the context of a
  729.             specific association, should only be performed if the
  730.             request specifies functional units negotiated for the
  731.             association.
  732.  
  733.             3.2. Management Object Selection - Scoping and Filtering
  734.  
  735.             Managed object selection is used to determine a set of
  736.             object instances in the MIT on which a CMIP request is to
  737.             operate.  Managed object selection is performed in two
  738.             phases: scoping; and then, filtering. Scoping is used to
  739.  
  740.  
  741.             Chang                                                 Page 9
  742.  
  743.  
  744.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  745.  
  746.  
  747.             specify a sub-tree of object instances in the MIT. A filter
  748.             is then applied to the set of previously scoped object
  749.             instances in order to identify a subset of object instances
  750.             on which the CMIP operation is to be performed.
  751.  
  752.             The scope specified in the CMIP request is applied to
  753.             determine a set of object instances against which a filter
  754.             (if specified) is to be applied.  If no filter is specified
  755.             the CMIP request will be performed for all object instances
  756.             identified by the scope.
  757.  
  758.             There are different ways of performing scoping operation.
  759.             This memo specifies one possible way of providing managed
  760.             object selection service.
  761.  
  762.             3.2.1. Object Class Group
  763.  
  764.             The following algorithm specifies a method of determining an
  765.             "object class group" that includes a set of object class
  766.             object identifiers.  Each of the object instance within the
  767.             scope, is an instance of an object class that is in the
  768.             object class group.
  769.  
  770.             The variables used in these steps are fictitious variables
  771.             used to control the process, not attributes or objects.
  772.  
  773.             Step 1:
  774.  
  775.             "current level" = 0
  776.             "current level object classes" = the base object specified
  777.                                          in the CMIP request
  778.             "next level object classes" is set to empty
  779.             "object class group" is set to empty
  780.  
  781.             Step 2:
  782.  
  783.             If the "current level" is greater than the maximum level
  784.             relative to the base object in the scope or the "current
  785.             level object classes" is empty, go to step 5.
  786.  
  787.             Step 3.
  788.  
  789.             If the "current level object classes" is empty, go to
  790.             step 4.
  791.  
  792.             Take the first object class in the "current level object
  793.             classes".  This object class is called "current object
  794.             class"
  795.  
  796.             For all the known name bindings in the proxy's schema, if
  797.             the "NAMED BY SUPERIOR OBJECT CLASS" is equal to the
  798.             "current object class", the "SUBORDINATE OBJECT CLASS" is
  799.             added into "next level object classes".
  800.  
  801.  
  802.  
  803.             Chang                                                Page 10
  804.  
  805.  
  806.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  807.  
  808.  
  809.             If the current level is greater than the minimum level and
  810.             smaller than the maximum level in the scope, the
  811.             "SUBORDINATE OBJECT CLASS" is added into "object class
  812.             group".
  813.  
  814.             Interate through step 3 again.
  815.  
  816.             Step 4:
  817.  
  818.             "current level object classes" = "next level object classes"
  819.             "next level object classes" is set to empty
  820.             bump up "current level" by one
  821.  
  822.             Iterate through step 2 again.
  823.  
  824.             Step 5:
  825.  
  826.             If the "object class group" is empty, there is no object
  827.             instance selected by the scope.  In this case, an empty
  828.             final CMIS response should be returned.
  829.  
  830.             If the "object class group" is not empty, for each object
  831.             class in the "object class group", the following three steps
  832.             should be taken to retrieve the object instances in the
  833.             scope:
  834.  
  835.             3.2.2. If the object class is a multiple instance object,
  836.             the first instance (.i.e., the first row in the table)
  837.             should be retrieved.
  838.  
  839.             If the object class is not a multiple instance object,
  840.             retrieve the object instance of the object class.
  841.  
  842.             3.2.3. If a filter is specified, apply the filter to the
  843.             retrived value.  If the filter evaluates to FALSE, the CMIP
  844.             operation will not be performed for the object instance.  If
  845.             the filter evaluates to TRUE, the operation will be
  846.             performed for the instance.
  847.  
  848.             3.2.4. If the object instance is a multiple instance object,
  849.             retrieve succeeding instances (i.e., the succeeding rows in
  850.             the table).  If a filter is specified, apply the filter as
  851.             specified in 5.2.2.  Repeat this process until all instances
  852.             of the multiple instance object (i.e.  all rows) have been
  853.             retrieved.
  854.  
  855.             The scoping process could be highly optimized by local means
  856.             to retrieve information in multiple ISO/CCITT object
  857.             instances at once.
  858.  
  859.             The filtering process should also be optimized where it is
  860.             applicable.  For example, if the attribute in the filter
  861.             item does not exist according to the object class
  862.             definition, the ISO/Internet proxy should evaluate the
  863.  
  864.  
  865.             Chang                                                Page 11
  866.  
  867.  
  868.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  869.  
  870.  
  871.             filter as FALSE without trying to retrieve the attribute
  872.             from the object instance.  If the CMIP request is a get
  873.             request, the filter process described above may also be
  874.             combined with the retrieval of the attributes specified in
  875.             the attribute id list.
  876.  
  877.             3.3. Synchronization
  878.  
  879.             If the ISO/Internet proxy receives a CMIP "atomic" request,
  880.             but can not perform the operation atomically, the
  881.             "synchronization not supported" CMIP error response should
  882.             be returned to the ISO/CCITT manager.
  883.  
  884.             The types of atomic requests that the ISO/Internet proxy can
  885.             perform are
  886.             as follows:
  887.  
  888.                  1) if all the instances selected by a scoped CMIP
  889.                     request are "local object instances", then the
  890.                     ISO/Internet proxy can perform the CMIP request
  891.                     locally (and atomically); and
  892.  
  893.                  2) if all the CMIP request can be performed by the
  894.                     ISO/Internet proxy using a single SNMP request, then
  895.                     the operation can also be performed atomically.
  896.  
  897.             For a "best effort" request, the ISO/Internet proxy should
  898.             try to perform the request on all the instances specified by
  899.             the request.  In some cases, the CMIP request has to be
  900.             translated into multiple SNMP requests in order to fulfill
  901.             the original CMIP request.  In the window in which these
  902.             SNMP requests are being processed, another SNMP set request
  903.             could be issued which could modify data in instances
  904.             specified by the scope.  Because of this, the complete
  905.             integrity of the scoped request can not be guaranteed.  A
  906.             proxy which complies with this memo is not required to
  907.             detect or avoid this situation, and will not usually report
  908.             any error if this situation occurs.
  909.  
  910.             3.4. Management Operation Services
  911.  
  912.             If the specified instances (i.e., those identified by
  913.             scoping and filtering specified in a CMIP request) are
  914.             "local object", the ISO/Internet proxy would perform the
  915.             services using local means. Instances of "partyTable", and
  916.             "partyEntry" are considered to be "local objects".
  917.  
  918.             If the specified instances are "remote objects", then the
  919.             following sections apply.  Any objects that physically
  920.             reside in the SNMP agents are considered as "remote
  921.             objects".  For example, any MIB II objects like system, tcp,
  922.             and upd ate considered as "remote objects".
  923.  
  924.             3.4.1. M-GET Service
  925.  
  926.  
  927.             Chang                                                Page 12
  928.  
  929.  
  930.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  931.  
  932.  
  933.  
  934.             The following sections describe how to provide M-GET
  935.             service.
  936.  
  937.             3.4.1.1. Check the Existence of the Base Object
  938.  
  939.             The existence of the ISO/CCITT base object specified in a
  940.             CMIP request should always be verified before scoping is
  941.             started.  If the base object specified in the request does
  942.             not exist in the Internet agent, then the proxy must send a
  943.             "NoSuchObjectInstance" CMIP error response back to the
  944.             ISO/CCITT manager.
  945.  
  946.             If the base object is a table entry or an SNMP group with at
  947.             least one Internet object type (i.e., not a pseudo object),
  948.             the ISO/Internet proxy should try to retrieve at least one
  949.             attribute of the base object from the SNMP agent to verify
  950.             the existence of the base object.
  951.  
  952.             If the base object is a pseudo object, the ISO/Internet
  953.             proxy should try to retrieve at least one attribute from the
  954.             first subordinate object in the MIT that is not a pseudo
  955.             object, in order to verify the logical existence of the base
  956.             object (pseudo object).
  957.  
  958.             3.4.1.2. Perform the Get Operation
  959.  
  960.             If scoping or filtering is specified, the process described
  961.             in section 4.2 of this memo is used to select the ISO/CCITT
  962.             object instances.  For each selected ISO/CCITT object
  963.             instance, all of the attributes specified in the "Attribute
  964.             identifier list" parameter of the CMIP request are
  965.             retrieved.  If the "Attribute identifier list" parameter is
  966.             omitted, all attributes of the instance are of retrieved.
  967.             The list of attributes are in an object class are included
  968.             in the definition of the object class.  It is recommeded
  969.             that the retrieval of the attributes be combined with the
  970.             retrieval of the attributes specified by the filter.
  971.  
  972.             Section 5.4 describes the CMIP M-GET to SNMP get protocol
  973.             mapping.
  974.  
  975.             3.4.1.3. Form the Response(s)
  976.  
  977.             The CMIP M-GET response should contain the attribute value
  978.             list or the appropriate get list error.  Once the M-GET
  979.             response has been formatted, it should be passed to the CMIP
  980.             service provider.
  981.  
  982.             If the CMIP get request is a scoped request, each ISO/CCITT
  983.             object should be reported as link reply.  a final empty CMIS
  984.             M-GET response should be returned to the ISO/CCITT manager
  985.             when the scoped request completes.
  986.  
  987.  
  988.  
  989.             Chang                                                Page 13
  990.  
  991.  
  992.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  993.  
  994.  
  995.             The managed object instance in the CMIP get response should
  996.             use the the distinguished name (DN) specified in the
  997.             original CMIP request as a prefix.  The get responses for
  998.             subordinate objects below the base object in the naming
  999.             tree, should contain DN's that are formed from the
  1000.             concatenation of the DN from the original CMIP request and
  1001.             the RDN's specifying the table entry deleted.
  1002.  
  1003.             3.4.2. M-CANCEL-GET Service
  1004.  
  1005.             The CMIP cancel get operation should be performed as
  1006.             described in ISO/IEC 9596.  The ISO/Internet proxy does not
  1007.             need to translate this request to any SNMP requests.
  1008.  
  1009.             After receiving a cancel-get request message the
  1010.             ISO/Internet proxy should terminate any outstanding
  1011.             communications with the Internet agent that were initiated
  1012.             as a result of the get request that is being canceled.  Once
  1013.             the cancel-get has been processed and responded to, the
  1014.             ISO/Internet proxy should not send any additional response
  1015.             messages to the ISO/CCITT manager for the get operation that
  1016.             was canceled.
  1017.  
  1018.             3.4.3. M-SET Service
  1019.  
  1020.             The following sections describe how to provide M-SET
  1021.             service.
  1022.  
  1023.             3.4.3.1. Check the Existence of the Base Object
  1024.  
  1025.             This operation is the same as described in section 4.4.1.1.
  1026.  
  1027.             3.4.3.2.  Scope and Filter
  1028.  
  1029.             This operation is the same as described in section 4.4.1.2.
  1030.  
  1031.             3.4.3.3. Perform the Set Operation
  1032.  
  1033.             For each selected ISO/CCITT object instance, the attributes
  1034.             specified in the "Modification list" parameter of the CMIP
  1035.             request are modified based on each attribute's modify
  1036.             operator.  Only the "replace" modify operator is supported
  1037.             by the ISO/Internet proxy.  The modify operator is optional
  1038.             and if it is not specified in a CMIP request, the "replace"
  1039.             operator should be assumed.
  1040.  
  1041.             The "add value" and "remove value" modify operators are not
  1042.             supported by SNMP protocol, and are not supported by the
  1043.             ISO/Internet proxy.  The "set to default" modify operator is
  1044.             not supported by the ISO/Internet proxy since the
  1045.             ISO/Internet proxy is acting as an Internet manager. The
  1046.             "set to default" behaviour is optionally implemented by the
  1047.             Internet agent, not the Internet manager.  If the modify
  1048.  
  1049.  
  1050.  
  1051.             Chang                                                Page 14
  1052.  
  1053.  
  1054.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1055.  
  1056.  
  1057.             operator is not supported, "invalid operator" should be
  1058.             reported in the set list error.
  1059.  
  1060.             Section 5.5 of this memo describes the CMIP M-SET to SNMP
  1061.             set protocol mapping.
  1062.  
  1063.             3.4.3.4. Form the responses
  1064.  
  1065.             The CMIP M-SET response should contain the attribute value
  1066.             list or the appropriate set list error.  Once the M-SET
  1067.             response has been formatted, it should be passed to the CMIP
  1068.             service provider.
  1069.  
  1070.             If the CMIP set request is a scoped request, each ISO/CCITT
  1071.             object should be reported as link reply.  A final empty
  1072.             CMISE M-SET response should be returned to the ISO/CCITT
  1073.             manager when the scoped request completes.
  1074.  
  1075.             The managed object instance in the CMIP set response should
  1076.             use the the distinguished name (DN) specified in the
  1077.             original CMIP request as a prefix.  The set responses for
  1078.             subordinate objects below the base object in the naming
  1079.             tree, should contain DN's that are formed from the
  1080.             concatenation of the DN from the original CMIP request and
  1081.             the RDN's specifying the table entry deleted.
  1082.  
  1083.             3.4.4. M-ACTION Service
  1084.  
  1085.             The proxy is not required to emulate the CMIS M-ACTION
  1086.             service because Internet MIBs do not include any definitions
  1087.             which translate into M-ACTIONs in an ISO/CCITT GDMO MIB.
  1088.             Any CMIS M-ACTION request which is received pertaining to an
  1089.             Internet MIB object will be rejected by the proxy with an
  1090.             invalidOperation error response. However, CMIS M-ACTION may
  1091.             be used by the proxy for other purposes
  1092.  
  1093.             3.4.5. M-CREATE Service
  1094.  
  1095.             3.4.5.1. Request Validation
  1096.  
  1097.             The ISO/Internet proxy is responsible for validating that
  1098.             the CMIP create request does not violate name binding and
  1099.             object class definitions.
  1100.  
  1101.             3.4.5.1.1. Name Binding
  1102.  
  1103.             The ISO/Internet proxy must determine from the CREATE
  1104.             parameter in a name binding if an instance may be created.
  1105.             If the instance cannot be created, an "access denied" error
  1106.             response should be returned.
  1107.  
  1108.             The ISO/Internet proxy must also determine from the name
  1109.             binding if the instance specified in the request may be
  1110.             created under the specified superior in the MIT.  If the
  1111.  
  1112.  
  1113.             Chang                                                Page 15
  1114.  
  1115.  
  1116.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1117.  
  1118.  
  1119.             name binding does not allow the specified containment
  1120.             relationship, an "invalidOperation" error response should be
  1121.             returned.
  1122.  
  1123.             3.4.5.1.2. Check for Duplication
  1124.  
  1125.             Determine if the instance already exists.  If it does, a
  1126.             "duplicate managed object instance"i error response should
  1127.             be returned.
  1128.  
  1129.             See 4.4.1.1. of this memo for checking the existence of an
  1130.             object.
  1131.  
  1132.             3.4.5.2. With Referenced Object
  1133.  
  1134.             If a CMIP create request specifies a reference object, the
  1135.             ISO/Internet proxy should retrieve the referenced object
  1136.             from the Internet agent.  If the reference object does not
  1137.             exist, the proxy must send a "No such reference object"
  1138.             error response back to the ISO/CCITT manager.
  1139.  
  1140.             3.4.5.3. With Automatic Instance Naming
  1141.  
  1142.             A CMIP create request can use automatic instance naming to
  1143.             form a name for the object instance to be created.
  1144.             Automatic instance naming is used if: a) a CMIP create
  1145.             request does not specify a distinguished name for the object
  1146.             instance to be created; and b) the request specifies an
  1147.             object class that has a name binding allowing automatic
  1148.             instance naming.
  1149.  
  1150.             It is the responsibility of the ISO/Internet proxy to form
  1151.             the name based on the behavior of the object class.  In some
  1152.             cases, the relative distinguished name (RDN) is formed using
  1153.             attributes provided in the CMIP request.  For example, the
  1154.             RDN for "atEntry" in MIB-II could be formed from the
  1155.             "atNetIfIndex" attribute and the "atNetAddress" attribute.
  1156.             In other cases, the RDN can be assigned by the ISO/Internet
  1157.             proxy.
  1158.  
  1159.             If the superior object instance is not specified, the
  1160.             ISO/Internet proxy can not create the object instance and
  1161.             "processing failure" error should be returned.
  1162.  
  1163.             3.4.5.4. Perform the Create Operation
  1164.  
  1165.             If the combination of the attributes specified in the CMIP
  1166.             request and the attributes obtained from the reference
  1167.             object do not provide attribute values for all of the
  1168.             mandatory attributes for the entry specified by the object
  1169.             class being instantiated, then the ISO/Internet proxy should
  1170.             still try to create the object with all the available
  1171.             attributes.
  1172.  
  1173.  
  1174.  
  1175.             Chang                                                Page 16
  1176.  
  1177.  
  1178.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1179.  
  1180.  
  1181.             If the actual creation process based on the available but
  1182.             incomplete attribute list succeeds, the ISO/Internet proxy
  1183.             should retrieve all the attributes on the newly created
  1184.             entry since the Internet agent may fill in the missing
  1185.             attributes with the Internet agent's own default values.  If
  1186.             the missing attributes are provided by the agent, the CMIP
  1187.             create response should include the attributes that were
  1188.             provided by the Internet agent in its CMIP response.
  1189.  
  1190.             If the actual creation process based on the available but
  1191.             incomplete attribute list fails, the ISO/Internet proxy
  1192.             should send a "missing attribute value" error back to the
  1193.             ISO/CCITT manager.
  1194.  
  1195.             See 3.4.1.1. of this memo for checking the existence of an
  1196.             object.
  1197.  
  1198.             3.4.5.5. Form the responses
  1199.  
  1200.             The CMIP M-CREATE response should be formatted and then
  1201.             should passed to the CMIP service provider.
  1202.  
  1203.             The managed object instance in the CMIP set response should
  1204.             use the the distinguished name (DN) specified in the
  1205.             original CMIP request as a prefix.  The set responses for
  1206.             subordinate objects below the base object in the naming
  1207.             tree, should contain DN's that are formed from the
  1208.             concatenation of the DN from the original CMIP request and
  1209.             the RDN's specifying the table entry deleted.
  1210.  
  1211.             3.4.6. M-DELETE Service
  1212.  
  1213.             3.4.6.1. Check the Existence of the Base Object
  1214.  
  1215.             This operation is the same as described in section 3.4.1.1.
  1216.  
  1217.             3.4.6.2.  Scope and Filter
  1218.  
  1219.             This operation is the same as described in section 3.4.1.2.
  1220.  
  1221.             3.4.6.3. Perform the Delete Operation
  1222.  
  1223.             For all the selected ISO/CCITT object instances, the
  1224.             following procedures should be taken:
  1225.  
  1226.             3.4.6.3.1. Name binding
  1227.  
  1228.             Determine from the name binding if the instance specified in
  1229.             the request may be deleted.  If the name binding does not
  1230.             allow the specified delete operation, "access denied" error
  1231.             response should be returned.
  1232.  
  1233.             3.4.6.3.2. Check the Existence of the Selected Object
  1234.  
  1235.  
  1236.  
  1237.             Chang                                                Page 17
  1238.  
  1239.  
  1240.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1241.  
  1242.  
  1243.             For each selected object, the following steps should be
  1244.             taken.
  1245.  
  1246.             If the selected object is a table entry or an SNMP group
  1247.             with at least one Internet object type (not a pseudo
  1248.             object), the ISO/Internet proxy should try to retrieve at
  1249.             least one attribute of the object from the SNMP agent to
  1250.             verify the existence of the selected object.
  1251.  
  1252.             If the base object is a pseudo object, the ISO/Internet
  1253.             proxy should try to retrieve at least one attribute from the
  1254.             first subordinate object in the MIT that is not a pseudo
  1255.             object, in order to verify the logical existence of the base
  1256.             object (pseudo object).
  1257.  
  1258.             3.4.6.3.3. Perform the Delete Operation
  1259.  
  1260.             If the object instance specified in the CMIP delete request
  1261.             exists, the delete operation is performed.
  1262.  
  1263.             3.4.6.3.4. Form the responses
  1264.  
  1265.             Format the CMIP M-DELETE response with the appropriate
  1266.             attribute list or delete list error.  Once the M-DELETE
  1267.             response has been formatted, it should be passed to the CMIP
  1268.             service provider.
  1269.  
  1270.             The managed object instance in the CMIP delete response
  1271.             should use the the distinguished name (DN) specified in the
  1272.             original CMIP request as a prefix.  The delete responses for
  1273.             subordinate objects below the base object in the naming
  1274.             tree, should contain DN's that are formed from the
  1275.             concatenation of the DN from the original CMIP request and
  1276.             the RDN's specifying the table entry deleted.
  1277.  
  1278.             3.5. Management Notification Services
  1279.  
  1280.             All the SNMP traps should be mapped to CMIP notifications.
  1281.             Only unconfirmed mode is used since the SNMP traps are not
  1282.             confirmed.
  1283.  
  1284.             An SNMP trap is translated to a single CMIP event report.
  1285.             The following procedures should be used to translate an SNMP
  1286.             trap to a CMIP event report.
  1287.  
  1288.             3.5.1.  Object Class
  1289.  
  1290.             The object class parameter in the CMIP event report should
  1291.             be set to the appropriate object class as defined in the
  1292.             object class definitions.
  1293.  
  1294.             3.5.2.  Object Instance
  1295.  
  1296.  
  1297.  
  1298.  
  1299.             Chang                                                Page 18
  1300.  
  1301.  
  1302.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1303.  
  1304.  
  1305.             The object instance parameter in the CMIP event report is
  1306.             determined from information provided in the SNMP trap.  The
  1307.             SNMP trap sender's transport type, transport address, and
  1308.             network address are used to determine the DN of the proxy
  1309.             object instance.
  1310.  
  1311.             3.5.3. Event Time
  1312.  
  1313.             The event time parameter in the CMIP event report should be
  1314.             calculated based on the time stamp field in the SNMP trap.
  1315.  
  1316.             3.5.4. Event Type
  1317.  
  1318.             The event type parameter in the CMIP event report should be
  1319.             determined by the generic trap field and enterprise specific
  1320.             trap field in the SNMP trap.
  1321.  
  1322.             3.5.5. Event Info
  1323.  
  1324.             The event type parameter in the CMIP event report should be
  1325.             determined from a Notification definition.
  1326.  
  1327.             3.5.6. If any of the translations in the preceding sections
  1328.             fail, no CMIP event report is produced.
  1329.  
  1330.             3.6. Common Response Parameter
  1331.  
  1332.             This memo does not specify a standard translation for the
  1333.             timestamp value in the CMIP response.  However, the
  1334.             following paragraphs describe two potential implementations
  1335.             for this translation:
  1336.  
  1337.                   - ISO/Internet proxy's local time
  1338.                   - Internet agent's local time with fixed unknown delta
  1339.  
  1340.             3.6.1. ISO/Internet Proxy's Local Time
  1341.  
  1342.             The timestamp value in the CMIP response is set to the time
  1343.             provided by the ISO/Internet proxy's internal clock when a
  1344.             request's final SNMP response is received.
  1345.  
  1346.             3.6.2. Internet agent's local time with fixed unknown delta
  1347.  
  1348.             The ISO/Internet proxy should query the Internet agent for
  1349.             "sysUpTime" in addition to the original SNMP variable
  1350.             binding list in the first SNMP request.  The value should be
  1351.             recorded as the "agent's initial sysUpTime" and the
  1352.             ISO/Internet proxy's local time should be recorded as
  1353.             "initial contact time".
  1354.  
  1355.             Each CMIP request is translated to one or more SNMP requests
  1356.             by the ISO/Internet proxy to fulfill the CMIP request.  If
  1357.             the last SNMP request for the same CMIP request is an SNMP
  1358.             get request, the "sysUpTime" should be added into the SNMP
  1359.  
  1360.  
  1361.             Chang                                                Page 19
  1362.  
  1363.  
  1364.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1365.  
  1366.  
  1367.             variable binding list.  Otherwise, an extra SNMP get request
  1368.             is issued with "sysUpTime" as the only element in the
  1369.             variable binding list.  This new "sysUpTime" is called
  1370.             "agent's current sysUpTime".
  1371.  
  1372.             The timestamp in the last CMIP response should be calculated
  1373.             using this formula: "initial contact time" + (agent's
  1374.             current sysUpTime - agent's initial sysUpTime").
  1375.  
  1376.             This approach eliminates the inaccuracy caused by network
  1377.             delay between the ISO/Internet proxy and Internet agent and
  1378.             gives the ISO/CCITT manager a more accurate time on when an
  1379.             operation is actually performed by the Internet agent rather
  1380.             than the time that is processed by the ISO/Internet proxy.
  1381.  
  1382.  
  1383.             4. CMIP and SNMP Protocol Mapping
  1384.  
  1385.             To retrieve and modify SNMP entries, the ISO/Internet proxy
  1386.             is required to perform CMIP and SNMP protocol translation.
  1387.             A CMIP request is translated to one or more SNMP requests.
  1388.             SNMP responses are translated to CMIP responses.  SNMP traps
  1389.             are translated to CMIP notifications.
  1390.  
  1391.             4.1.  Management Object Selection - Scoping and filtering
  1392.  
  1393.             A managed object selection process is described in section
  1394.             4.2 of this memo.  Section 3.2.2 and 3.2.4 state:
  1395.  
  1396.                  3.2.2. If the object class is a multiple instance
  1397.                  object, the first instance (.i.e., the first row in the
  1398.                  table) should be retrieved.
  1399.  
  1400.             The ISO/Internet proxy would issue SNMP get-next requests to
  1401.             retrieve the instance information from the table.
  1402.  
  1403.             Each attribute in the object class is used to form a
  1404.             variable binding in the variable binding list in the SNMP
  1405.             request.  The attributes in the object class are maintained
  1406.             by the ISO/Internet proxy locally.
  1407.  
  1408.             Each attribute in the object class is used as the "name"
  1409.             field in the variable binding.  The ISO/Internet proxy
  1410.             composes a variable binding list and then encodes an SNMP
  1411.             get-next request.
  1412.  
  1413.                  3.2.4. If the object instance is a multiple instance
  1414.                  object, retrieve succeeding instances (i.e., the
  1415.                  succeeding rows in the table).  If a filter is
  1416.                  specified, apply the filter as specified in 3.2.2.
  1417.                  Repeat this process until all instances of the multiple
  1418.                  instance object (i.e.  all rows) have been retrieved.
  1419.  
  1420.  
  1421.  
  1422.  
  1423.             Chang                                                Page 20
  1424.  
  1425.  
  1426.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1427.  
  1428.  
  1429.             The ISO/Internet proxy should issue SNMP get-next requests
  1430.             to retrieve the succeeding object instance.  The variable
  1431.             binding list is the same as the the variable binding list in
  1432.             the previous SNMP get response (that resulted from the
  1433.             previous get-next request).
  1434.  
  1435.             If the SNMP error, noSuchName, occurs when an attribute is
  1436.             queried as part of a filter evaluation, then the filterItem
  1437.             will be evaluated as FALSE.
  1438.  
  1439.             4.2. Check for Existence of the Object to be Created
  1440.  
  1441.             Section 3.4.1.1 of this memo:
  1442.  
  1443.                  If the base object is a table entry or an SNMP group
  1444.                  with at least one Internet object type (i.e., not a
  1445.                  pseudo object), the ISO/Internet proxy should try to
  1446.                  retrieve at least one attribute of the base object from
  1447.                  the Internet agent to verify the existence of the base
  1448.                  object.
  1449.  
  1450.             The ISO/Internet proxy should issue an SNMP get request to
  1451.             retrieve at least one attribute in the base object.  The
  1452.             variable binding is composed using information specified in
  1453.             the CMIP request.
  1454.  
  1455.                  If the base object is a pseudo object, the ISO/Internet
  1456.                  proxy should try to retrieve at least one attribute
  1457.                  from the first subordinate object in the MIT that is
  1458.                  not a pseudo object, in order to verify the logical
  1459.                  existence of the base object (pseudo object).
  1460.  
  1461.             The ISO/Internet proxy should issue an SNMP get-next request
  1462.             is used to retrieve at least one attribute from the first
  1463.             subordinate object in the naming tree that is not a pseudo
  1464.             object.
  1465.  
  1466.             In both of the above cases, a variable binding is needed in
  1467.             the SNMP request.  The variable binding contains "name" and
  1468.             "value".  Only "name" is significant in the SNMP request.
  1469.  
  1470.             4.2.1 SNMP Entry
  1471.  
  1472.             If the base object is an "SNMP entry", the first component
  1473.             in the "name" field is taken from any attribute in the
  1474.             object class.  The object class is specified in the CMIP
  1475.             request and the attribute is obtained from the object class
  1476.             definition by the ISO/Internet proxy using local means.  The
  1477.             process specified in section 5.8 of this memo could be used
  1478.             to form the variable binding.  Once the variable binding has
  1479.             been formed, an SNMP get request is issued to get the
  1480.             attribute value, which will validate the existence of the
  1481.             base object.
  1482.  
  1483.  
  1484.  
  1485.             Chang                                                Page 21
  1486.  
  1487.  
  1488.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1489.  
  1490.  
  1491.             4.2.2. Pseudo Entry
  1492.  
  1493.             If the base object is a "pseudo entry", there is no SNMP
  1494.             entry that maps to this ISO/CCITT entry.  Therefore the
  1495.             first SNMP subordinate entry of this base object is queried
  1496.             to verify the existence of this base object.
  1497.  
  1498.             The "name" field is taken from the object class object
  1499.             identifier directly to form the SNMP get-next request.
  1500.  
  1501.             If the "name" field in the variable binding in the SNMP get
  1502.             response contains the same object identifier prefix as the
  1503.             request, the ISO/Internet proxy can conclude that this
  1504.             pseudo entry should exist.  If the "name" field in the SNMP
  1505.             request and the "name" field in the SNMP response does not
  1506.             have the same object identifier prefix, the ISO/Internet
  1507.             proxy can conclude that the pseudo entry does not exist.
  1508.             The same object identifier prefix means that the "name"
  1509.             field, which is a object identifier, in the response should
  1510.             contain the same object identifier as the one in the request
  1511.             with one or more additional digits
  1512.  
  1513.             If SNMP "no such name" error is received, the ISO/Internet
  1514.             proxy can conclude that the pseudo entry does not exist.
  1515.             Any other error should refer to section 5.9 of this memo.
  1516.  
  1517.             Note.  The same method can also be used to verify the
  1518.             existence of an SNMP "group" entry.
  1519.  
  1520.  
  1521.             4.3. Create With Referenced Object
  1522.  
  1523.             An SNMP get request should be issued to obtain the
  1524.             attributes in the referenced object.
  1525.  
  1526.             Each attribute in the object class forms a variable binding
  1527.             in the variable binding list in the SNMP request.  The
  1528.             attributes in the object class id maintained by the
  1529.             ISO/Internet proxy locally.
  1530.  
  1531.             For each attribute in the object class, the process
  1532.             described in section 5.8 of this memo should be taken to
  1533.             form the variable binding.  The ISO/Internet then compose a
  1534.             variable binding list.
  1535.  
  1536.             If SNMP "no such name" error is received, the ISO/Internet
  1537.             proxy can conclude that the pseudo entry does not exist.
  1538.             Any other error should refer to section 5.9 of this memo..
  1539.  
  1540.             4.4. Perform the Get Operation
  1541.  
  1542.             For each selected attribute, the ISO/Internet proxy should
  1543.             use the process defined in 5.8 of this memo to form the
  1544.             variable binding.  The ISO/Internet proxy should then form
  1545.  
  1546.  
  1547.             Chang                                                Page 22
  1548.  
  1549.  
  1550.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1551.  
  1552.  
  1553.             the variable binding list and then issue an SNMP get request
  1554.             to perform the get operation.
  1555.  
  1556.             4.5. Perform the Set Operation
  1557.  
  1558.             For each attributes, the ISO/Internet proxy should use the
  1559.             process defined in section 5.8 of this memo to form the
  1560.             variable binding.  The "value" field will be taken from the
  1561.             modification list.  The ISO/Internet proxy should then form
  1562.             the variable binding list and then issue an SNMP set request
  1563.             to perform the set operation.
  1564.  
  1565.             4.6. Perform the Create Operation
  1566.  
  1567.             For each available attributes, the combination of the
  1568.             attributes specified in the CMIP request and the attributes
  1569.             obtained from the reference object, the ISO/Internet proxy
  1570.             should use the process defined in section 5.8 of this memo
  1571.             to form the variable binding list.  The "value" field will
  1572.             be taken from either the CMIP request or the referenced
  1573.             object.
  1574.  
  1575.             4.7. Perform the Delete Operation
  1576.  
  1577.             The ISO/Internet proxy needs to determine the attribute type
  1578.             and attribute value that indicates an entry has been
  1579.             deleted.  This information is maintained locally by the
  1580.             ISO/Internet proxy.
  1581.  
  1582.             Each object selected by the CMIP delete request is
  1583.             translated to a variable binding.  All of the selected
  1584.             objects could be translated into variable bindings within
  1585.             one SNMP set request.  If the request is too big, the
  1586.             ISO/Internet proxy should divide the request to smaller
  1587.             requests.
  1588.  
  1589.             For each to-be-deleted object, the ISO/Internet proxy should
  1590.             use the process defined in section 5.8 of this memo to form
  1591.             the variable binding.  The "value" field will be filled in
  1592.             using the attribute value that indicates  an entry has been
  1593.             deleted.
  1594.  
  1595.             4.8. Form a Variable Binding
  1596.  
  1597.             The variable binding contains two fields: "name" and
  1598.             "value".  The "name" field is composed by the ISO/Internet
  1599.             proxy based on its object class, attribute, and a RDN.
  1600.  
  1601.             The "name" field in the variable binding is formed from the
  1602.             concatenation of two components.
  1603.  
  1604.             The first component in the "name" field is the attribute's
  1605.             object identifier.
  1606.  
  1607.  
  1608.  
  1609.             Chang                                                Page 23
  1610.  
  1611.  
  1612.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1613.  
  1614.  
  1615.             There are two cases for the second component in the "name"
  1616.             field.
  1617.  
  1618.             If the object class is a "single instance" object, (i.e., an
  1619.             SNMP group or an SNMP table), the digit "0" is used for the
  1620.             second component.
  1621.  
  1622.             If the object class is a "multiple instance" object (i.e., a
  1623.             table entry), and if a RDN is supplied, the Internet object
  1624.             instance might be derived from the RDN.  An RDN consists of
  1625.             an attribute type and an attribute value.  The attribute
  1626.             value of the RDN has two parts.  The first part of the value
  1627.             is the object class object identifier.  The second part of
  1628.             the value is the Internet object instance.  This second part
  1629.             of the value is used as the second component in the "name"
  1630.             field of the variable binding.
  1631.  
  1632.             Example 1: single instance object
  1633.  
  1634.             Input:Object class: system
  1635.                   Attribute: sysName
  1636.                   attribute value in the RDN: system
  1637.  
  1638.             The SNMP variable binding: sysName.0
  1639.  
  1640.  
  1641.             Example 2: multiple instance object
  1642.  
  1643.             Input:Object class: ipRouteEntry
  1644.                   Attribute: ipRouteDest
  1645.                   attribute value in the RDN: ipRouteEntry.192.22.83.97
  1646.  
  1647.             The SNMP variable binding: ipRouteDest.192.22.83.97
  1648.  
  1649.  
  1650.             4.9. SNMP error to CMIP error mapping
  1651.  
  1652.             SNMP error responses received by the ISO/Internet proxy are
  1653.             translated to CMIP error responses and sent back to the
  1654.             ISO/CCITT manager.  The sections that follow list the SNMP
  1655.             errors that could be received, and describes which CMIP
  1656.             error responses they will be translated to.
  1657.  
  1658.             4.9.1. tooBig
  1659.  
  1660.             If the SNMP error, tooBig, is received, the ISO/Internet
  1661.             proxy should try to break the SNMP request to smaller
  1662.             requests and resend the requests.  If it is not feasible to
  1663.             break the request to any smaller request, and this error
  1664.             occurs, the CMIP error response, "Resource limitation",
  1665.             should be returned to the ISO/CCITT manager.
  1666.  
  1667.             4.9.2. noSuchName
  1668.  
  1669.  
  1670.  
  1671.             Chang                                                Page 24
  1672.  
  1673.  
  1674.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1675.  
  1676.  
  1677.             If the SNMP error, noSuchName, occurs when an attribute is
  1678.             queried as part of a filter evaluation, then the filterItem
  1679.             will be evaluated as FALSE.
  1680.  
  1681.             In order to check if an object exists, all the object
  1682.             class's attributes should be queried until at least one
  1683.             attribute's existence is verified.  if none of the
  1684.             attributes exist, and the object is the base object, then a
  1685.             "NoSuchObjectInstance" CMIP error response should be
  1686.             returned.
  1687.  
  1688.             If the object exists and the SNMP error, noSuchName, occurs
  1689.             when attempting to modify an attribute while processing the
  1690.             attribute list, a "No such attribute" CMIP error response
  1691.             should be returned to the ISO/CCITT manager.
  1692.  
  1693.             If the ISO/Internet proxy maintains correct schema
  1694.             information and the SNMP agent is a conformant agent, an
  1695.             Internet object's attributes should all exist or not exist.
  1696.             In order to make the ISO/Internet proxy a practical
  1697.             solution, the preceding error situation is included in order
  1698.             to deal with a non-conformant Internet agent.
  1699.  
  1700.             4.9.3. badValue
  1701.  
  1702.             If the SNMP error, badValue, is returned for an SNMP get
  1703.             request, then a "processing failure" CMIP error response
  1704.             should be returned to the CMIP manager.  In the
  1705.             ProcessingFailure parameter of the CMIP error response, the
  1706.             errorId should be snmpBadValue, and the errorInfo should be
  1707.             the variable binding identified by the error-index.
  1708.  
  1709.             If the badValue error occurs during an SNMP set request to
  1710.             fulfil a CMIP delete request, a "processing failure" CMIP
  1711.             error response should be returned.  In the ProcessingFailure
  1712.             parameter, the errorId should be canNotDelete and the
  1713.             errorInfo should be the variable binding that is identified
  1714.             by the error-index.
  1715.  
  1716.             4.9.4. readOnly
  1717.  
  1718.             If the SNMP error, readOnly, occurs when checking for the
  1719.             existence of a base object, a "processing failure" CMIP
  1720.             error response should be returned to the ISO/CCITT manager.
  1721.             In the ProcessingFailure parameter of the CMIP error
  1722.             response, the errorId should be snmpReadOnly, and the
  1723.             errorInfo should be the variable binding identified by the
  1724.             error-index.
  1725.  
  1726.             If the readOnly error occurs when deleting the object, then
  1727.             the deleteErrorInfo in the delete response should be set to
  1728.             "access denied".
  1729.  
  1730.             4.9.5. genErr
  1731.  
  1732.  
  1733.             Chang                                                Page 25
  1734.  
  1735.  
  1736.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1737.  
  1738.  
  1739.  
  1740.             If the SNMP error, genErr, occurs, the "ProcessingFailure"
  1741.             CMIP error response should be returned to ISO/CCITT manager.
  1742.             If the entry exists, scoping continues; otherwise, scoping
  1743.             terminates.  In the ProcessingFailure parameter of the CMIP
  1744.             error response, the errorId should be snmpGenErr.
  1745.  
  1746.  
  1747.             5. CMIP Processing Failure
  1748.  
  1749.             There are many error scenarios in which the error can not be
  1750.             mapped to a specific CMIP error.  In this case, the
  1751.             "processing failure" CMIP error response should be reported
  1752.             back to the ISO/CCITT manager.  In order to provide the
  1753.             ISO/CCITT manager a better description of the error, the
  1754.             specificErrorInfo field in ProcessingFailure is used to
  1755.             record the cause of the problem.
  1756.  
  1757.             The following object identifiers are defined:
  1758.  
  1759.                  errors         OBJECT IDENTIFIER :: { oim 11 }
  1760.  
  1761.                  snmpTooBig     OBJECT IDENTIFIER :: { errors 0 }
  1762.                  snmpBadValue   OBJECT IDENTIFIER :: { errors 1 }
  1763.                  snmpReadOnly   OBJECT IDENTIFIER :: { errors 2 }
  1764.                  snmpGenErr     OBJECT IDENTIFIER :: { errors 3 }
  1765.                  noResponse     OBJECT IDENTIFIER :: { errors 4 }
  1766.                  canNotDelete   OBJECT IDENTIFIER :: { errors 5 }
  1767.                  notImplemented OBJECT IDENTIFIER :: { errors 6 }
  1768.  
  1769.             For errorId snmpTooBig, the errInfo is defined as
  1770.             VarBindList.
  1771.             For errorId snmpBadValue, the errInfo is defined as VarBind.
  1772.             For errorId snmpReadOnly, the errInfo is defined as OBJECT
  1773.             IDENTIFIER.
  1774.             For errorId canNotDelete, the errInfo is defined as VarBind.
  1775.             For errorId notImplemented, the errInfo is defined as
  1776.  
  1777.                  INTEGER {
  1778.                            filter(0),
  1779.                            scope(1),
  1780.                            transport(2),
  1781.                            AuthenticationProtocol(6),
  1782.                            PrivacyProtocol(7)
  1783.                        }
  1784.  
  1785.  
  1786.             6. Functional Units
  1787.  
  1788.             A ISO/Internet proxy implementation that claims conformance
  1789.             to this memo must state the functional units that it
  1790.             supports.  Two functional units are defined:
  1791.  
  1792.                  a) a minimum proxy functional unit; and
  1793.  
  1794.  
  1795.             Chang                                                Page 26
  1796.  
  1797.  
  1798.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1799.  
  1800.  
  1801.                  b) an additional scoping functional unit.
  1802.  
  1803.             The minimum proxy functional unit requires the support of
  1804.             create operations, scoped get operations, base-object-only
  1805.             set operations, base-object-only delete operations, and
  1806.             notifications.
  1807.  
  1808.             The additional scoping functional unit requires the support
  1809.             of scoped set operations and scoped delete operations.
  1810.  
  1811.             This memo assigns the following object identifier:
  1812.  
  1813.                  {  cmipsxmpProxy  aAssociateUserInfo(7) }
  1814.             Editor's note: cmipsxmpProxy is specified in [OIMTRANSMIB].
  1815.  
  1816.             as a value of ASN.1 type FunctionalUnitPackageId defined in
  1817.             CCITT Rec.  X.701 | ISO/IEC 10040 to use for negotiating the
  1818.             following functional units:
  1819.  
  1820.                  0    minimum proxy functional unit; and
  1821.                  1    additional scoping functional unit.
  1822.  
  1823.             Where the above number identifies the bit position in the
  1824.             BIT STRING assigned to the functional units.
  1825.  
  1826.             Editor's note:  Is functional unit appropriate?  Maybe some
  1827.             sort of compliance sentence is more appropriate?  Is this
  1828.             section needed at all? Suggestions?
  1829.  
  1830.  
  1831.             7.   Abbreviations
  1832.  
  1833.             CMIP: Common Management Information Protocol
  1834.             MIB:  Management Information Base
  1835.             DN:   Distinguished Name
  1836.             RDN   Relative Distinguished Name
  1837.             SNMP: Simple Network Management Information Protocol
  1838.  
  1839.  
  1840.             8.   Acknowledgements
  1841.  
  1842.             The following individuals provided valuable comments on the
  1843.             memo prior to its initial distribution.
  1844.  
  1845.                  Dean Voiss, NetLabs
  1846.                  Jon Biggar, NetLabs
  1847.                  Lee LaBarre, MITRE
  1848.                  Lisa Phifer, Bellcore
  1849.                  Steve Ng, MPR Teltech
  1850.  
  1851.  
  1852.             References
  1853.  
  1854.  
  1855.  
  1856.  
  1857.             Chang                                                Page 27
  1858.  
  1859.  
  1860.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1861.  
  1862.  
  1863.             [ISO8824]  ISO/IEC IS 8824: Information Technology - Open
  1864.                        System Interconnection - Specification of
  1865.                        Abstract Syntax Notation One (ASN.1),1990.
  1866.  
  1867.             [ISO10165-4]   ISO/IEC IS 10165-4: Information Technology -
  1868.                        Open Systems Interconnection - Structure of
  1869.                        Management Information - Part 4: Guidelines for
  1870.                        the Definition of Managed Objects, 1991.
  1871.  
  1872.             [ISO9595]  ISO/IEC IS 9595, Information Technology - Open
  1873.                        Systems Interconnection - Common Management
  1874.                        Information Service Definition, 1991.
  1875.  
  1876.             [ISO9596-1]ISO/IEC IS 9596-1, Information Technology - Open
  1877.                        Systems Interconnection - Common Management
  1878.                        Information Protocol - Part 1: Specification,
  1879.                        1991.
  1880.  
  1881.             [RFC1155]  RFC1155, M. Rose and K. McCloghrie, Structure
  1882.                        and Identification of Management Information for
  1883.                        TCP/IP-based internets, May 1990.
  1884.  
  1885.             [RFC1157]  RFC 1157, J.D. Case, M.S. Fedor, M.L.
  1886.                        Schoffstall, C. Davin, Simple Network Management
  1887.                        Protocol (SNMP),  May 1990.
  1888.  
  1889.             [RFC1351]  RFC 1351, Davin, J., Galvin, J., and K.
  1890.                        McCloghrie, "SNMP Administrative Model", MIT
  1891.                        Laboratory for Computer Science, Trusted
  1892.                        Information Systems, Inc., Hughes LAN Systems,
  1893.                        Inc., July 1992.
  1894.  
  1895.             [RFC1352]  RFC 1352, Galvin, J., McCloghrie, K., and J.
  1896.                        Davin, Trusted Information Systems, Inc., Hughes
  1897.                        LAN Systems, Inc., MIT Laboratory for Computer
  1898.                        Science, July 1992.
  1899.  
  1900.             [RFC1353]  RFC 1353, McCloghrie, K., Davin, J., and J.
  1901.                        Galvin, "Definitions of Managed Objects for
  1902.                        Administration of SNMP Parties", Hughes LAN
  1903.                        Systems, Inc., MIT Laboratory for Computer
  1904.                        Science, Trusted Information Systems, Inc., July
  1905.                        1992.
  1906.  
  1907.             [OIMTRANSMIB]  Lee LaBarre, ISO and Internet Management
  1908.                        Coexistence (IIMC): Translation of Internet MIBs
  1909.                        for ISO/Internet Proxy.  The MITRE Corporation,
  1910.                        September 92.
  1911.  
  1912.             [OIMPARTY] Lee LaBarre, ISO and Internet Management
  1913.                        Coexistence (IIMC): Proxy MIB for the SNMP Party
  1914.                        MIB.  The MITRE Corporation, September 92.
  1915.  
  1916.  
  1917.  
  1918.  
  1919.             Chang                                                Page 28
  1920.  
  1921.  
  1922.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1923.  
  1924.  
  1925.             [OIMMIB-II]Lee LaBarre, ISO and Internet Management
  1926.                        Coexistence (IIMC): Proxy Management Information
  1927.                        Base II for TCP/IP Networks.  The MITRE
  1928.                        Corporation, September 92.
  1929.  
  1930.             [IIMCOMIBTRANS] O. Newnan, ISO/CCITT and Internet Management
  1931.                        Coexistence: Translation of ISO/CCITT GDMO MIBs
  1932.                        to Internet MIBs, October 1992.
  1933.  
  1934.  
  1935.             Appendix A: CMIP to RFC 1157 Agent proxy
  1936.  
  1937.             The philosophy of implementation for either a ISO/Internet
  1938.             proxy that acts as a proxy for an RFC 1157 Internet agent,
  1939.             or for a proxy for a secure Internet agent, is quite
  1940.             similar.  The following sections describe the differences
  1941.             between the two types of proxy agents.
  1942.  
  1943.             1. SNMP Protocol Selection
  1944.  
  1945.             The partyauthprotocol attribute in the selected SNMP party
  1946.             object indicates which SNMP protocol is to be used.  If the
  1947.             community protocol is selected, the ISO/Internet proxy
  1948.             encodes the SNMP message based on the definition in RFC
  1949.             1157.  If the md5 authentication protocol is selected, the
  1950.             ISO/Internet proxy encodes the SNMP message based on the
  1951.             definition in the secure SNMP memos.
  1952.  
  1953.             2. Security Protocol Selection
  1954.  
  1955.             If the attribute, partyAuthProtocol, indicates that the
  1956.             community protocol is to be used, the attribute,
  1957.             partyAuthPriv, provides the value for the community string
  1958.             that is to be used to form the SNMP request.
  1959.  
  1960.             If the attribute, partyAuthProtocol, indicates that the md5
  1961.             authentication protocol is to be used, the SNMP message
  1962.             should be encoded using the appropriate authentication and
  1963.             encryption mechanisms based on the definition in the secure
  1964.             SNMP memos.
  1965.  
  1966.  
  1967.             3. Internet agent Address Resolution
  1968.  
  1969.             For each of the CMIP requests received by the ISO/Internet
  1970.             proxy, an SNMP source party and a destination party are
  1971.             selected based on the DN and access control fields in the
  1972.             CMIP request.  The SNMP party object selected is the source
  1973.             party object contains the Internet agent's address
  1974.             information in the following two attributes: partyTDomain;
  1975.             and partyTaddr.
  1976.  
  1977.             The attribute, partyTDomain, specifies the transport
  1978.             mechanism.  The attribute, partyTAddr, specifies the
  1979.  
  1980.  
  1981.             Chang                                                Page 29
  1982.  
  1983.  
  1984.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  1985.  
  1986.  
  1987.             transport and network address.  The address format of the
  1988.             partyTaddr is determined from the value of the partyTDomain
  1989.             attribute.
  1990.  
  1991.             4. readyOnly error
  1992.  
  1993.             If the Internet agent that the ISO/Internet proxy represents
  1994.             is an RFC 1157 community-based Internet agent, the the SNMP
  1995.             readOnly error should never be received by the proxy.  If
  1996.             this error is received, a "processing failure" CMIP error
  1997.             response should be returned to the ISO/CCITT manager.  In
  1998.             the ProcessingFailure parameter, the errorId should be
  1999.             snmpReadOnly and the errorInfo should be the variable
  2000.             binding that is identified by the error-index.
  2001.  
  2002.  
  2003.             Appendix B: Example Operation
  2004.  
  2005.             Operation: CMIP get request
  2006.             Object class: ip
  2007.             Object instance:{cmipsxmpProxyId = "NetLabs" }
  2008.                             {internetClassId = ip }
  2009.             Scope: 2nd level down
  2010.             Filter: ipRouteType == indirect
  2011.             Attribute id list: ipRouteDest
  2012.  
  2013.             Example SNMP ipRouteEntries:
  2014.  
  2015.                  ipRouteDest    ipRouteType    Other object types
  2016.                  -----------    -----------    ------------------
  2017.                  192.95.93.1    direct
  2018.                  192.95.93.2    indirect
  2019.                  192.95.93.3    invalid
  2020.                  192.95.93.4    other
  2021.                  192.95.93.5    indirect
  2022.                  (end of the table)
  2023.  
  2024.             The following sections show an example of how the
  2025.             ISO/Internet proxy fulfills the above CMIP get request based
  2026.             on the example SNMP ipRouteEntries.
  2027.  
  2028.             1. Check the existence of the base object:
  2029.  
  2030.             The ISO/Internet proxy issues a SNMP get next request.
  2031.  
  2032.                  GetNextRequest { ip }
  2033.                  GetResponse { ipForwarding = 1 }
  2034.  
  2035.             If the get is successful, the ISO/Internet proxy would have
  2036.             verified that the base object exists.
  2037.  
  2038.             2. Managed object selection
  2039.  
  2040.  
  2041.  
  2042.  
  2043.             Chang                                                Page 30
  2044.  
  2045.  
  2046.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  2047.  
  2048.  
  2049.             Based on the name binding definition, the following object
  2050.             classes are found in the "object class group":
  2051.  
  2052.                  a) ipAddrEntry
  2053.                  b) ipRouteEntry
  2054.                  c) ipNetToMediaEntry
  2055.  
  2056.             For each object in the "object class group", the object
  2057.             instances may be retrieved via SNMP get next requests.
  2058.  
  2059.                a) ipAddrEntry: The object class definition for this
  2060.                  object class does not contain the attribute specified
  2061.                  in the filter (ipRouteType), therefore the ISO/Internet
  2062.                  proxy will conclude that there is no object instances
  2063.                  with ipAddrEntry object class in the scope.
  2064.  
  2065.                b) ipRouteEntry:  The object class definition for this
  2066.                  object class contains the attribute specified in the
  2067.                  filter (ipRouteType), therefore the ISO/Internet proxy
  2068.                  would issue SNMP get next request to retrieve the
  2069.                  object instances.  The SNMP requests issued and the
  2070.                  responses received would be as follows:
  2071.  
  2072.                GetNextRequest {ipRouteDest, ipRouteType}
  2073.                GetResponse {ipRouteDest.192.94.93.1 = 192.94.93.1,
  2074.                             ipRouteType.192.94.93.1 = direct}
  2075.  
  2076.                GetNextRequest {ipRouteDest.192.94.93.1,
  2077.                                ipRouteType.192.94.93.1}
  2078.                GetResponse {ipRouteDest.192.94.93.2 = 192.94.93.2,
  2079.                             ipRouteType.192.94.93.2 = indirect}
  2080.  
  2081.                GetNextRequest {ipRouteDest.192.94.93.2,
  2082.                                ipRouteType.192.94.93.2}
  2083.                GetResponse {ipRouteDest.192.94.93.3 = 192.94.93.3,
  2084.                             ipRouteType.192.94.93.3 = invalid}
  2085.  
  2086.                GetNextRequest {ipRouteDest.192.94.93.3,
  2087.                                ipRouteType.192.94.93.3}
  2088.                GetResponse {ipRouteDest.192.94.93.4 = 192.94.93.4,
  2089.                             ipRouteType.192.94.93.4 = other}
  2090.  
  2091.                GetNextRequest {ipRouteDest.192.94.93.4,
  2092.                                ipRouteType.192.94.93.4}
  2093.                GetResponse {ipRouteDest.192.94.93.5 = 192.94.93.5,
  2094.                             ipRouteType.192.94.93.5 = indirect}
  2095.  
  2096.                GetNextRequest {ipRouteDest.192.94.93.5,
  2097.                                ipRouteType.192.94.93.5}
  2098.                GetResponse {ipRouteIfIndex = 5,
  2099.                             ipRouteProto = 1}
  2100.  
  2101.                c) ipNetToMediaEntry: The object class definition for
  2102.                  this object class does not contain the attribute
  2103.  
  2104.  
  2105.             Chang                                                Page 31
  2106.  
  2107.  
  2108.             Draft      ISO/CCITT to Internet Management Proxy  10/9/1992
  2109.  
  2110.  
  2111.                  specified in the filter (ipRouteType), therefore the
  2112.                  ISO/Internet proxy will conclude that there is no
  2113.                  object instances with ipNetToMediaEntry object class in
  2114.                  the scope.
  2115.  
  2116.             There are a set of five object instances in the scope. After
  2117.             the filter is applied to these five object instances, there
  2118.             are only two object instances left on which the get
  2119.             operation is performed.
  2120.  
  2121.             3. Form the response
  2122.  
  2123.             The following CMIP responses should be formed and sent back
  2124.             to the ISO/CCITT manager
  2125.  
  2126.                  CMIP get link reply:
  2127.                       Object class: ipRouteEntry
  2128.                       Object instance:{cmipsxmpProxyId = "NetLabs" }
  2129.                            {internetClassId = ip }
  2130.                            {internetClassId = ipRouteTable }
  2131.                            {internetClassId = ipRouteEntry.192.94.93.2 }
  2132.                       Attribute list: ipRouteDest = 192.4.93.2
  2133.  
  2134.                  CMIP get link reply:
  2135.                       Object class: ipRouteEntry
  2136.                       Object instance:{cmipsxmpProxyId = "NetLabs" }
  2137.                            {internetClassId = ip }
  2138.                            {internetClassId = ipRouteTable }
  2139.                            {internetClassId = ipRouteEntry.192.94.93.5 }
  2140.                       Attribute list: ipRouteDest = 192.4.93.5
  2141.  
  2142.                  Final Empty CMIS M-GET response
  2143.  
  2144.  
  2145.                       - INTERNET DRAFT Expires April 23, 1993 -
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.             Chang                                                Page 32
  2168.